home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 15 / macformat_15.iso / Shareware Internet / Ciencia / CFG 2.3 (Shareware) / µCinema Converter / standard lib.c < prev    next >
Text File  |  1994-04-02  |  1KB  |  52 lines

  1. /********************************************************************
  2.     module: standard lib.c
  3.  ********************************************************************/
  4.  
  5.  
  6. /* --------------------------------------------------------------------------------- */
  7.  
  8.  
  9. #pragma options(!require_protos)
  10.  
  11.  
  12. void * memset(/* void *s, int c, size_t n */)
  13. {
  14.     asm {
  15.         move.l    4(sp),d0        ;  D0.L = result
  16.         movea.l    d0,a0            ;  A0 = s
  17. #if __option(int_4)
  18.         move.b    11(sp),d1        ;  D1.B = (unsigned char) c
  19.         move.l    12(sp),d2        ;  D2.L = n
  20. #else
  21.         move.b    9(sp),d1        ;  D1.B = (unsigned char) c
  22.         move.l    10(sp),d2        ;  D2.L = n
  23. #endif
  24.         bra.s    @2
  25. @1        move.b    d1,(a0)+
  26.         subq.l    #1,d2
  27. @2        bne.s    @1
  28.     }
  29. }
  30.  
  31.  
  32. /* --------------------------------------------------------------------------------- */
  33.  
  34.  
  35. int memcmp(/* const void *s1, const void *s2, size_t n */)
  36. {
  37.     asm {
  38.         moveq    #0,d0            ;  D0.L = result
  39.         movea.l    4(sp),a0        ;  A0 = s1
  40.         movea.l    8(sp),a1        ;  A1 = s2
  41.         move.l    12(sp),d1        ;  D1.L = n
  42.         bra.s    @2
  43. @1        subq.l    #1,d1
  44. @2        beq.s    @4
  45.         cmpm.b    (a0)+,(a1)+
  46.         beq.s    @1
  47.         blo.s    @3
  48.         subq.l    #2,d0
  49. @3        addq.l    #1,d0
  50. @4    }
  51. }
  52.